import fitz  # PyMuPDF
import os

def pdf_to_images(pdf_path, output_folder, dpi=300):
    """
    将PDF文件的每一页转换为图片并保存到指定目录中。
    
    :param pdf_path: PDF文件的路径
    :param output_folder: 保存图片的目录
    :param dpi: 图片的分辨率（默认为300 DPI）
    """
    # 确保输出目录存在
    if not os.path.exists(output_folder):
        os.makedirs(output_folder)

    # 打开PDF文件
    pdf_document = fitz.open(pdf_path)

    # 遍历PDF的每一页
    for page_number in range(len(pdf_document)):
        # 获取当前页面
        page = pdf_document.load_page(page_number)

        # 将页面渲染为图片
        pix = page.get_pixmap(dpi=dpi)

        # 保存图片
        image_path = os.path.join(output_folder, f"page_{page_number + 1}.png")
        pix.save(image_path)

    print(f"所有页面已成功保存到 {output_folder}")

# 示例用法
if __name__ == '__main__':
    pdf_path = "pdf/eec23035376ae0e339a7643402fdbdccd92ad703.PDF"  # 替换为你的PDF文件路径
    output_folder = "锂科有限/"  # 替换为保存图片的目标目录
    if not os.path.isdir(output_folder):
        os.makedirs(output_folder)
    pdf_to_images(pdf_path, output_folder)
